//============================================================================================
/**
 * @file	comm_command_pkthn_func.c
 * @brief	ポケスロン通信コールバック
 * @author	Nozomu Saito
 */
//============================================================================================

#include "pokethlon.h"
#include "pkthln_frame_seq_def.h"
#include "comm_command_pkthln_func.h"
#include "savedata/bonguri.h"		//for BonguriSave_

#ifdef PM_DEBUG

static void DbgPrintfActionData(PKTHLN_PTR ptr);

#endif


//----------------------------------------------------------------------------
/**
 *	@brief	ポケスロン種目共有
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnSetEventNo( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	u8 *list;

	OS_Printf("イベントコードデータサイズ%d\n",size);
	list = pBuff;
	//受け取ったデータをバッファに格納
	PTFrame_SetEventNo( ptr, list);

	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_EVT_NO_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_POKE_SELECT);
}


//----------------------------------------------------------------------------
/**
 *	@brief	ポケスロン参加ポケモン集計　（親が集計する）
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnPokeAddUp( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	//親判定
	if( PTFrameGetCurrentID( ptr) == COMM_PARENT_ID ){
		COMMON_PLAYER_DATA *data = PTFrame_GetCmnPlayerDataPtrByID(ptr, netID);
		//受け取ったデータをバッファに格納
		memcpy( data, pBuff, size );
		//データ転送済み人数カウントアップ
		PTFrame_AddDataSendNum(ptr);
		//NCP以外の参加者分集まったかを調べる
		if ( PTFrame_GetPlayerNum(ptr) == PTFrame_GetDataSendNum(ptr) ){
			//NPCがゲームに参加する場合はここで、データを作成する
			if (PTFrame_GetDataSendNum(ptr) < ENTRY_MEMBER_NUM_MAX){
				int num = ENTRY_MEMBER_NUM_MAX - PTFrame_GetDataSendNum(ptr);
				OS_Printf("NPCを%d人作成\n",num);
///				MakeNPCData(ptr, num);
				PTFrame_MakeNPCData(ptr, num);
			}
			//転送済み人数をクリア
			PTFrame_ClearDataSendNum(ptr);
			//シーケンスシフト
			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_PARENT_SHARE_POKE);
		}
	}
}

//----------------------------------------------------------------------------
/**
 *	@brief	ポケスロン参加ポケモン集計データ取得(親から送られてくる)
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnGetAllPokeData( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	COMMON_PLAYER_DATA *data = PTFrame_GetCmnPlayerDataPtrByID(ptr, netID);

	OS_Printf("データを受け取りました\n");

	//取得データをバッファに格納
	memcpy( data, pBuff, size );

	//全参加ポケモンのポケスロンパラメータをアーカイブから取得する
	PTFrame_SetPkthlnParam(ptr);

	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_ENTRY_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_SET_MYSTATUS);
}

//----------------------------------------------------------------------------
/**
 *	@brief	マイステータスのセット
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnSetMyStatus( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	//親以外セット
	if( PTFrameGetCurrentID( ptr) != COMM_PARENT_ID ){
		MYSTATUS *myst = PTFrame_GetMyStatus(ptr, 0);
		// バッファに格納
		memcpy( myst, pBuff, size );
	}

	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_MYSTATUS_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_GET_RANKDATA);
}

//----------------------------------------------------------------------------
/**
 *	@brief	ランキングデータの集計
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnGetMyRankData( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	if( 1/*PTFrameGetCurrentID( ptr) == COMM_PARENT_ID*/ ){
/**
		void *adr;
		adr = PTFrame_GetRankDataPtr(ptr, netID);
		memcpy( adr, pBuff, size );
*/
		OS_Printf("Rank::MyID is %d\n",PTFrameGetCurrentID( ptr));
		//データ転送済み人数カウントアップ
		PTFrame_AddDataSendNum(ptr);
		//NCP以外の参加者分集まったかを調べる
		if ( PTFrame_GetPlayerNum(ptr) == PTFrame_GetDataSendNum(ptr) ){
			//転送済み人数をクリア
			PTFrame_ClearDataSendNum(ptr);
			//シーケンスシフト
///			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_PARENT_SHARE_RANKDATA);
			//通信同期待ち
			PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_RANKDATA_WAIT);
			//シーケンスシフト
			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_OPENING_SET);
		}
	}
}
#if 0
//----------------------------------------------------------------------------
/**
 *	@brief	ランキングデータの受け取り
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnReciveRankData( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	//親以外
	if( PTFrameGetCurrentID( ptr) != COMM_PARENT_ID ){
/**
		void *adr;
		adr = PTFrame_GetRankDataPtr(ptr, 0);
		memcpy( adr, pBuff, size );
*/
	}
	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_RANKDATA_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_OPENING_SET);
}
#endif
//----------------------------------------------------------------------------
/**
 *	@brief	競技通信データを取得			イベント間共通
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnGetEvtCmnData( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);

	PTHLN_COMM_DATA *comm_data = (PTHLN_COMM_DATA*)pBuff;

	//共有データかを判定
	if(comm_data->Share){	//共有
		// バッファに格納
		memcpy( &data->ReciveShareData, pBuff, size );
	}else{					//各子機データ
		// バッファに格納
		memcpy( &data->ReciveData[netID], pBuff, size );
	}
}

//----------------------------------------------------------------------------
/**
 *	@brief	競技内共有データ取得
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnGetEvtShareData( int netID, int size, void* pBuff, void* pWork )
{
	PKTHLN_PTR ptr = pWork;
	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_EVT_SHARE_DATA_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_EVENT_MAIN);
}

//----------------------------------------------------------------------------
/**
 *	@brief	競技結果集計
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnEvtResultAddUp(int netID, int size, void* pBuff, void* pWork)
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);
	//親判定
	if( PTFrameGetCurrentID( ptr) == COMM_PARENT_ID ){
		u8 *byte;
		u8 *adr;

		size = PTFrame_GetEvtResultDataSize(ptr);

		//共有データの書き換え位置取得
		byte = PKTHLN_CommPack_GetData(&data->SendShareData);
		adr = &byte[netID*size];
		memcpy( adr, pBuff, size );
		//データ転送済み人数カウントアップ
		PTFrame_AddDataSendNum(ptr);
		//NCP以外の参加者分集まったかを調べる
		if ( PTFrame_GetPlayerNum(ptr) == PTFrame_GetDataSendNum(ptr) ){
			//転送済み人数をクリア
			PTFrame_ClearDataSendNum(ptr);
			//シーケンスシフト
			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_PARENT_SHARE_RESULT);
		}
	}
}

//----------------------------------------------------------------------------
/**
 *	@brief	競技結果取得
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnGetAllEvtResult(int netID, int size, void* pBuff, void* pWork)
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);

	//取得データをバッファに格納
	memcpy( &data->ReciveShareData, pBuff, size );
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_EVENT_RESULT_MAKE);
}

//----------------------------------------------------------------------------
/**
 *	@brief	自分の競技アクションデータを親に送信
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnSendEvtActData(int netID, int size, void* pBuff, void* pWork)
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);
	//親判定
	if( PTFrameGetCurrentID( ptr) == COMM_PARENT_ID ){
		PKTHLN_POKE_RSLT *rslt;
		PKTHLN_POKE_RSLT *rcv_rslt;
		u8 i;

		OS_Printf("actdatasize = %d\n", size);
		OS_Printf("adr=%x\n",pBuff);

		rslt = PTFrame_GetEvtActDataPtr(ptr, netID);
		rcv_rslt = pBuff;
		for(i=0;i<ENTRY_MAX;i++){
#ifdef PM_DEBUG
			OS_Printf("NET %d act_point poke%d:: fail=%d, jump=%d, get=%d, attack=%d, Fall=%d, Dash=%d, Change=%d, Own=%d\n",
					netID, i,
					rcv_rslt[i].Fail,
					rcv_rslt[i].Jump,
					rcv_rslt[i].Get,
					rcv_rslt[i].Attack,
					rcv_rslt[i].Fall,
					rcv_rslt[i].Dash,
					rcv_rslt[i].Change,
					rcv_rslt[i].OwnGoal
					);
#endif
			rslt[i].Fail += rcv_rslt[i].Fail;
			rslt[i].Jump += rcv_rslt[i].Jump;
			rslt[i].Get += rcv_rslt[i].Get;
			rslt[i].Attack += rcv_rslt[i].Attack;
			rslt[i].Fall += rcv_rslt[i].Fall;
			rslt[i].Dash += rcv_rslt[i].Dash;
			rslt[i].Change += rcv_rslt[i].Change;
			rslt[i].OwnGoal += rcv_rslt[i].OwnGoal;
		}

		//データ転送済み人数カウントアップ
		PTFrame_AddDataSendNum(ptr);

		//NPC以外のデータが集まったか？
		if ( PTFrame_GetPlayerNum(ptr) == PTFrame_GetDataSendNum(ptr) ){
			//転送済み人数をクリア
			PTFrame_ClearDataSendNum(ptr);
			//シーケンスシフト
			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_PARENT_SHARE_ACT_DATA);
		}
	}
}

//----------------------------------------------------------------------------
/**
 *	@brief	競技アクションデータ共有
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnShareEvtActData(int netID, int size, void* pBuff, void* pWork)
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);
	//親判定
	if( PTFrameGetCurrentID( ptr) != COMM_PARENT_ID ){
/**
		void *adr;
		adr = PTFrame_GetEvtActDataPtr(ptr, 0);
		memcpy( adr, pBuff, size );
*/
	}
#ifdef PM_DEBUG
	//アクションデータの中身をデバッグプリント
	DbgPrintfActionData(ptr);
#endif
	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_EVTDATA_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_ENDING_SET);
}

//------------------------ジュース関連

//----------------------------------------------------------------------------
/**
 *	@brief	自分のジュースデータを親に送信
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnSendJuiceData(int netID, int size, void* pBuff, void* pWork)
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);

	if( 1/*PTFrameGetCurrentID( ptr) == COMM_PARENT_ID*/ ){
		OS_Printf("Juice::MyID is %d\n", PTFrameGetCurrentID( ptr));
/**
		void *adr;
		//バッファに格納
		adr = PTFrame_GetAllJuiceDataAdr(ptr, netID);
		GF_ASSERT(size == BonguriSave_GetBongJuiceCommWorkSize());
		memcpy( adr, pBuff, size );
*/
		//データ転送済み人数カウントアップ
		PTFrame_AddDataSendNum(ptr);

		//NPC以外のデータが集まったか？
		if ( PTFrame_GetPlayerNum(ptr) == PTFrame_GetDataSendNum(ptr) ){
			//転送済み人数をクリア
			PTFrame_ClearDataSendNum(ptr);
			//シーケンスシフト
///			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_PARENT_SHARE_JC_DATA);
			//通信同期待ち
			PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_JUICE_WAIT);
			//シーケンスシフト
			PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_SET_JUICEDATA);
		}
	}
}

#if 0
//----------------------------------------------------------------------------
/**
 *	@brief	ジュースデータ共有
 *
 *	@param	netID		接続番号
 *	@param	size		バッファサイズ
 *	@param	pBuff		バッファ
 *	@param	pWork		システムワーク
 */
//-----------------------------------------------------------------------------
void CommPkthlnShareJuiceData(int netID, int size, void* pBuff, void* pWork)
{
	PKTHLN_PTR ptr = pWork;
	COMM_EVENT_COMMON_DATA *data = PTFrame_GetEvtComCmnData(ptr);
	//親判定
	if( PTFrameGetCurrentID( ptr) != COMM_PARENT_ID ){
/**
		//バッファにデータコピー
		void *adr;
		adr = PTFrame_GetAllJuiceDataAdr(ptr, 0);
		GF_ASSERT(size == CommPkthlnGetAllJuiceDataSize());
		memcpy( adr, pBuff, size );
*/
	}

	//通信同期待ち
	PTFrame_SetSynchroID(ptr, PKTHLN_SYNC_ID_JUICE_WAIT);
	//シーケンスシフト
	PTFrame_SetNextFuncTblIdx(ptr, FRAME_SEQ_SET_JUICEDATA);
}
#endif
//------------------------------------------------------------------------------------------------
//サイズ取得関数

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetEventNoSize( void )
{
	return ( sizeof(u8)*PKTHLN_EVT_MAX_COMM );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetPokeAddUpSize( void )
{
	return ( sizeof(COMMON_PLAYER_DATA) );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetAllPokeDataSize( void )
{
	return ( sizeof(COMMON_PLAYER_DATA)*ENTRY_MEMBER_NUM_MAX );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetAllMyStatusSize( void )
{
	return ( MyStatus_GetWorkSize()*ENTRY_MEMBER_NUM_MAX );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ランキングデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetRankDataSize( void )
{
	return sizeof(PKTH_RNK_DATA);
}

//----------------------------------------------------------------------------
/**
 *	@brief	全員のランキングデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetAllRankDataSize( void )
{
	return ( sizeof(PKTH_RNK_DATA)*ENTRY_MEMBER_NUM_MAX );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetEvtCmnDataSize( void )
{
	return PKTHLN_COMM_DATA_SIZE;//sizeof(PTHLN_COMM_DATA);
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetEvtActionDataSize( void )
{
	return ( sizeof(PKTHLN_POKE_RSLT)*ENTRY_MAX );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetAllEvtActionDataSize( void )
{
	return ( sizeof(PKTHLN_POKE_RSLT)*ENTRY_MEMBER_NUM_MAX*ENTRY_MAX );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetJuiceDataSize( void )
{
	return ( BonguriSave_GetBongJuiceCommWorkSize() );
}

//----------------------------------------------------------------------------
/**
 *	@brief	ゲームデータサイズ取得
 *	@return	サイズ
 */
//-----------------------------------------------------------------------------
int CommPkthlnGetAllJuiceDataSize( void )
{
	return ( BonguriSave_GetBongJuiceCommWorkSize()*4 );
}

//----------------------------------------------------------------------------
/**
 *	@brief	競技内共有データバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetShareDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
	buff = PTFrame_GetEvtShareDataPtr(ptr);
	return buff;
}

//----------------------------------------------------------------------------
/**
 *	@brief	ランキングデータバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetRankDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
	buff = PTFrame_GetRankDataPtr(ptr, 0);
	return buff;
}

//----------------------------------------------------------------------------
/**
 *	@brief	転送元ランキングデータバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetOrgRankDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
///	buff = PTFrame_GetOrgRankDataPtr(ptr);
	buff = PTFrame_GetRankDataPtr(ptr, netID);
	return buff;
}

//----------------------------------------------------------------------------
/**
 *	@brief	転送元競技内ポケモン行動データバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetEvtActionDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
	buff = PTFrame_GetEvtActDataPtr(ptr,0);
	return buff;
}

//----------------------------------------------------------------------------
/**
 *	@brief	転送元競技内ポケモン行動データバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetMyEvtActionDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
	u8 *adr;
	buff = PTFrame_GetMyEvtActDataPtr(ptr);
	adr = buff;
	adr += (netID*size);
	return adr;
}

//----------------------------------------------------------------------------
/**
 *	@brief	転送元ジュースデータバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetJuiceDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
	//buff = PTFrame_GetJuiceDataAdr(ptr);
	buff = PTFrame_GetAllJuiceDataAdr(ptr, netID);
	return buff;
}
#if 0
//----------------------------------------------------------------------------
/**
 *	@brief	転送先ジュースデータバッファアドレス指定
 *
 *	@param	netID		接続番号
 *	@param	pWork		システムワーク
 *	@param	size		バッファサイズ
 */
//-----------------------------------------------------------------------------
u8* CommPkthlnGetAllJuiceDatBufAdr(int netID, void* pWork, int size)
{
	PKTHLN_PTR ptr = pWork;
	void *buff;
	buff = PTFrame_GetAllJuiceDataAdr(ptr, 0);
	return buff;
}
#endif
#ifdef PM_DEBUG
static void DbgPrintfActionData(PKTHLN_PTR ptr)
{
	u8 i,j;
	PKTHLN_POKE_RSLT *rslt;

	OS_Printf("--------アクションデータをプリント--------\n");
	for (i=0;i<ENTRY_MEMBER_NUM_MAX;i++){
		rslt = PTFrame_GetEvtActDataPtr(ptr, i);
		OS_Printf("●NetID:%d\n",i);
		for (j=0;j<ENTRY_MAX;j++){
			OS_Printf("　ポケインデックス：%d\n",j);
			OS_Printf("・失敗回数:		%d\n",rslt[j].Fail);
			OS_Printf("・ジャンプ回数:	%d\n",rslt[j].Jump);
			OS_Printf("・ゲット回数:	%d\n",rslt[j].Get);
			OS_Printf("・体当たり回数:	%d\n",rslt[j].Attack);
			OS_Printf("・落下回数:		%d\n",rslt[j].Fall);
			OS_Printf("・ダッシュ回数:	%d\n",rslt[j].Dash);
			OS_Printf("・交代回数:		%d\n",rslt[j].Change);
			OS_Printf("・自滅回数:		%d\n",rslt[j].OwnGoal);
		}
	}
	OS_Printf("--------アンクションデータをプリント終了--------\n");
}
#endif
